home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / comm / tcp / rxsocket.lha / rxsocket / examples / rxresolve.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1998-10-27  |  2.0 KB  |  98 lines

  1. /*
  2.     rxresolve: just like miamiresolve (and maybe more)
  3.  
  4.     Usage: rxresolve <host>
  5.            rxresolve -s <servicename>
  6. */
  7.  
  8. parse arg host "-s" serv .
  9.  
  10. /**START libraries*/
  11. if ~show("L","rexxsupport.library") then
  12.     if ~addlib("rexxsupport.library",0,-30) then do
  13.         say "no rexxsupport.library"
  14.         exit
  15.     end
  16. if ~show("L","rxsocket.library") then
  17.     if ~addlib("rxsocket.library",0,-30) then do
  18.         say "no rxsocket.library"
  19.         exit
  20.     end
  21. if ~show("L","rmh.library") then
  22.     if ~addlib("rmh.library",0,-30) then do
  23.         say "no rmh.library"
  24.         exit
  25.     end
  26. /**END libraries**/
  27.  
  28. if host="" then
  29.     if serv="" then call usage()
  30.     else call findServ(serv)
  31. else
  32.     if host="?" then call usage()
  33.     else call findHost(host)
  34.  
  35. /****************************************************************************/
  36.  
  37. Usage: PROCEDURE
  38.     say "Usage: rxresolve host"
  39.     say "       rxresolve -s servicename"
  40.     exit
  41.  
  42. /****************************************************************************/
  43.  
  44. findServ: PROCEDURE
  45. parse arg serv
  46.  
  47.     if DataType(serv,NUM) then res = GetServByPort("SERV",serv,"tcp")
  48.     else res = GetServByName("SERV",serv,"tcp")
  49.  
  50.     if ~res then do
  51.         say "Service <" || serv || "> not found."
  52.         exit
  53.     end
  54.  
  55.     say "service:" serv.servname
  56.  
  57.     if serv.servaliases.num~=0 then do
  58.         say "aliases:"
  59.         do i = 0 to serv.servaliases.num-1
  60.             say "   " serv.servaliases.i
  61.         end
  62.     end
  63.  
  64.     say "port:" serv.servport
  65.  
  66.     exit
  67.  
  68. /****************************************************************************/
  69.  
  70. findHost: PROCEDURE
  71. parse arg host
  72.  
  73.     if IsDotAddr(host) then res = GetHostByAddr("HE",host)
  74.     else res = GetHostByname("HE",host)
  75.  
  76.     if ~res then do
  77.         say "Host <" || host || "> not found (" || HostErrorstring(HostErrorNo()) || ")."
  78.         exit
  79.     end
  80.  
  81.     say "host:" he.hostname
  82.  
  83.     if he.hostaliases.num ~= 0 then do
  84.         say "aliases:"
  85.         do i = 0 to he.hostaliases.num-1
  86.             say "   " he.hostaliases.i
  87.         end
  88.     end
  89.  
  90.     say "address list:"
  91.     do i = 0 to he.hostaddrlist.num-1
  92.         say "   " he.hostaddrlist.i
  93.     end
  94.  
  95.     exit
  96.  
  97. /****************************************************************************/
  98.